NumStr:
	LINK     A6,#-$10
	MOVEM.L  D6-D7/A3-A4,-(A7)
	MOVEA.L  Arg08Link(A6),A3
	LEA      -$10(A6),A4
	MOVE.L   Arg00Link(A6),D6
	;; number of characters
	CLR.W    D7
	MOVE.W   D7,D0
	ADDQ.W   #1,D7
	CLR.B    $0(A4,D0.W)
NumStrLeastSignificantDigitLoop:
	;; get the rightmost decimal digit
	MOVE.L   D6,D0
	MOVEQ    #10,D1
	JSR      SignedDivideRemainderLongWordByLongWord(PC)
	;; add in ascii '0' value
	MOVEQ    #$30,D1
	ADD.B    D1,D0
	;; increment number of characters
	MOVE.W   D7,D1
	ADDQ.W   #1,D7
	;; save ascii of digit
	MOVE.B   D0,$0(A4,D1.W)
	;; divide number by ten
	MOVE.L   D6,D0
	MOVEQ    #10,D1
	JSR      SignedDivideLongWordByLongWord(PC)
	;; move quotient as current number
	MOVE.L   D0,D6
	BNE.S    NumStrLeastSignificantDigitLoop
	BRA.S    NumStrMostSignificantDigitLoopCondition
	;; push digits in left to right order onto A3 pointer
NumStrMostSignificantDigitLoop:	
	SUBQ.W   #1,D7
	MOVE.B   $0(A4,D7.W),(A3)+
NumStrMostSignificantDigitLoopCondition:	
	TST.W    D7
	BNE.S    NumStrMostSignificantDigitLoop
	;; restore stack
	MOVEM.L  -$20(A6),D6-D7/A3-A4
	UNLK     A6
	RTS

	dc.b	$86,"NumStr",$00,$00,$00
	even
